package com.fate.framework.response;

import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * @author : ten.x
 * @date : 2022-03-16
 */
@Getter
@NoArgsConstructor
public enum CommonEnum {
  /***
   * 请求处理成功
   */
  OK(200, "操作成功"),

  /***
   * 部分成功（一般用于批量处理场景，只处理筛选后的合法数据）
   */
  WARN_PARTIAL_SUCCESS(101, "部分成功"),

  /***
   * 有潜在的性能问题
   */
  WARN_PERFORMANCE_ISSUE(102, "潜在的性能问题"),

  /***
   * 传入参数不对
   */
  FAIL_INVALID_PARAM(400, "请求参数不匹配"),

  /***
   * Token无效或已过期
   */
  FAIL_INVALID_TOKEN(401, "Token无效或已过期"),

  /***
   * 没有权限执行该操作
   */
  FAIL_NO_PERMISSION(403, "无权执行该操作"),

  /***
   * 请求资源不存在
   */
  FAIL_NOT_FOUND(404, "请求资源不存在"),

  /***
   * 数据校验不通过
   */
  FAIL_VALIDATION(405, "数据校验不通过"),

  /***
   * 操作执行失败
   */
  FAIL_OPERATION(406, "操作执行失败"),

  /***
   * 系统异常
   */
  FAIL_EXCEPTION(500, "系统异常"),

  // 自定义异常以1000开头

  ACCOUNT_PASSWORD_ERROR(10004, "账号或密码错误"),

  ACCOUNT_DISABLE(10005, "账号已被停用"),

  CAPTCHA_ERROR(10006, "验证码不正确"),

  NO_USER(10006, "没有该用户"),

  NO_ROLE(10006, "没有该角色"),

  PASSWORD_ERROR(10007, "密码错误"),

  ACCOUNT_NOT_EXIST(10008, "账号不存在"),

  UPLOAD_FILE_EMPTY(10019, "上传文件不能为空"),

  OSS_UPLOAD_FILE_ERROR(10024, "阿里云上传文件失败"),

  SEND_SMS_ERROR(10025, "发送短信出错"),

  MAIL_TEMPLATE_NOT_EXISTS(10026, "邮件模板不存在"),

  JSON_FORMAT_ERROR(10030, "Json格式化出错"),

  SMS_CONFIG_ERROR(10031, "短信配置出错"),

  REPEAT_SUBMIT_ERROR(10029, "重复请求，请稍后再试"),

  JOB_ERROR(10028, "执行定时任务出错"),

  DEL_ERROR(10044, "您并不能删除当前信息");

  private Integer code;

  private String msg;

  CommonEnum(Integer code, String msg) {
    this.code = code;
    this.msg = msg;
  }
}
